package dominio.quarto;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;

import dominio.Repositorio;

public class QuartoRepositorio extends Repositorio<Quarto> {

	public List<Quarto> listar() {
		List<Quarto> listar = dao.listar();
		Collections.sort(listar, new Comparator<Quarto>() {
			public int compare(Quarto o1, Quarto o2) {
				return o1.numero.compareTo(o2.numero);
			}
		});
		return listar;
	}

	public void salvar(Quarto quarto) {
		dao.salvar(quarto);
	}

	public List<Quarto> obterDisponiveis() {
		List<Quarto> listaRetorno = new ArrayList<Quarto>();
		
		List<Quarto> lista = listar();
		Iterator<Quarto> iterator = lista.iterator();
		while (iterator.hasNext()) {
			Quarto quarto = (Quarto) iterator.next();
			if (quarto.disponivel) {
				listaRetorno.add(quarto);
			}
		}
		return listaRetorno;
	}

	public void atualizar(Quarto quarto) {
		dao.atualizar(quarto);
	}

	public Quarto obter(Integer numero) {
		Quarto quarto = new Quarto(numero);
		return dao.obter(quarto);
	}
}
